4、移动距离
题目 移动距离
思路分析
画图模拟找规律
距离等于\(|row2-row1|+|col2-col1|\)
将从1开始统一成从0开始 方便计算距离
横:楼号/宽度 纵:if(奇数行) 宽度-1-(楼号%宽度) else if(偶数行) 楼号%宽度
代码实现
#include<bits/stdc++.h>
using namespace std;
int main()
{
int w,m,n;
cin>>w>>m>>n;
m--,n--;
int col1,row1,col2,row2;
col1=m/w;
row1=m%w;
if(col1&1)
row1=w-1-row1;
col2=n/w;
row2=n%w;
if(col2&1)
row2=w-1-row2;
cout<<abs(row2-row1)+abs(col2-col1);
return 0;
}
💬 评论